In electronic computing systems, it is often desirable to target content in a manner that improves relevance for users of the systems. For example, search engines target search results to terms that a user submits in a search query (among other things). Also, on-line advertising is frequently targeted so that keywords selected by the advertiser are matched to topics that may be identified by analyzing the content of a web page on which advertisements are to be displayed. The assumption is that advertisements that are semantically similar to the content associated with the page may be more relevant to the user viewing the page. For example, advertisements for mobile telephones may be matched to pages in an on-line newspaper that carry stories about gadgets or other topics that might be of interest to people who might also be interested in buying a new mobile telephone. Such approaches are good for advertisers because they are more likely to draw positive reactions to their advertisements, and are also good for consumers, who are shown advertisements for things that they are more likely to care about.
In social networks, it can be hard to apply the same idea directly. That is because first, the appropriate context to consider when targeting content is fuzzy—it can include the page being viewed, but can also include a profile page for the viewing user, and social-network specific pieces of information entered by the viewing user (e.g., communities or messages sent to other members), among other things. Also, much information in a social network is “noisy,” in that it is of low written quality. For example it may be brief, it may include slang, it could include ASCII art, and it may simply be poorly written. Thus, it can be difficult to target content using such information.